package com.xmy.cultivate.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.xmy.cultivate.entity.PracticeSubjectsType;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xmy.cultivate.entity.response.PracticePlanStaff;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 科目类型 服务类
 * </p>
 *
 * @author hpiggy
 * @since 2024-10-09
 */
public interface IPracticeSubjectsTypeService extends IService<PracticeSubjectsType> {
    public abstract List<PracticeSubjectsType> getPracticeSubjectsTypeList(Wrapper wrapper);

    /**
     * 完成率列表
     */
    public abstract List<PracticePlanStaff> practicePlanStaffList(String type, String practiceTypeId, String yearPart, String quarterNum, String subjectsId, String startDate, String endDate, String lessonNumStart, String lessonNumEnd, String lessonType, String schoolId, String yearClassId, String classTypeId, String teacherName, String classify, String trackType, String teamId, String trackId);

    /**
     * 完成率详情
     */
    public abstract List<PracticePlanStaff> practicePlanStaffDetails(String type, String practiceTypeId, String yearPart, String quarterNum, String subjectsId, String startDate, String endDate, String lessonNumStart, String lessonNumEnd, String lessonType, String schoolId, String yearClassId, String classTypeId, String teacherId, String detailType, String classify, String trackType, String teamId);

    List<PracticePlanStaff> practicePlanStaffAllList(String type,
                                                     String practiceTypeId,
                                                     String yearPart,
                                                     String quarterNum,
                                                     String subjectsId,
                                                     String startDate,
                                                     String endDate,
                                                     String lessonNumStart,
                                                     String lessonNumEnd,
                                                     String lessonType,
                                                     String schoolId,
                                                     String yearClassId,
                                                     String classTypeId,
                                                     String teacherName);

    IPage<PracticePlanStaff> practicePlanStaffAllDetail(
            IPage<?> page,
            String type,
            String practiceTypeId,
            String yearPart,
            String quarterNum,
            String subjectsId,
            String startDate,
            String endDate,
            String lessonNumStart,
            String lessonNumEnd,
            String lessonType,
            String schoolId,
            String yearClassId,
            String classTypeId,
            String teacherId);
}
